﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WX.WMS.DataModel;

namespace WX.WMS.BLL
{
    public class StoreReportBLLAll : BaseBLL
    {
        public class VStoreViewAll : Store_All
        {
            private string _StockType;

            public string 库存类型
            {
                get { return this._StockType; }
                set { this._StockType = value; }
            }
        }

        public IEnumerable<VStoreViewAll> GetVStoreView()
        {
            var source = from t in new BaseDAO().Store_Alls
                         select new VStoreViewAll
                         {
                              
                             出仓备注=t.出仓备注,
                             出仓大件数=t.出仓大件数,
                             出仓单号=t.出仓单号,
                             出仓净重=t.出仓净重,
                             出仓毛重=t.出仓毛重,
                             出仓小件数=t.出仓小件数,
                             供应商批次号=t.供应商批次号,
                                关键规格=t.关键规格,
                                货物大类=t.货物大类,
                                货主货物=t.货主货物,
                                批号=t.批号,
                                入仓备注=t.入仓备注,
                                入仓层=t.入仓层,
                                入仓车牌=t.入仓车牌,
                                入仓大件数=t.入仓大件数,
                                入仓单号=t.入仓单号,
                                入仓净重=t.入仓净重,
                                入仓库位=t.入仓库位,
                                入仓毛重=t.入仓毛重,
                                入仓区位=t.入仓区位,
                                入仓日期=t.入仓日期,
                                入仓小件数=t.入仓小件数,
                                出仓日期=t.出仓日期,
                                单位=t.单位,
                             库存类型 = Enum.GetName(typeof(Enumerations.StockType), t.库存类型)
                         };
            source = source.OrderBy(t => t.货主货物).OrderBy(t => t.入仓日期);
            return source;
        }
        public IEnumerable<Store_All> GetVStoreView(DateTime begin,DateTime end)
        {
            var source = from t in new BaseDAO().Store_Alls
                         select t;
            if (begin != DateTime.MinValue) source.Where(t => t.入仓日期 >= begin);
            if (end != DateTime.MinValue) source.Where(t=>t.入仓日期<=end);
            source = source.OrderBy(t => t.货主货物).OrderBy(t=>t.入仓日期);
            return source;
        }
    }
}
